1. Field of the Invention
This invention relates to methods and systems for installing software onto a computer, and, in particular embodiments, methods and systems for automatically installing an initial software configuration onto a computer.
2. Related Art
Generally, computer manufacturers sell a number of different types (e.g., desktop, laptop) and models (e.g., Toshiba Equium 7100 Desktop Series, 3200 Series, Tecra 8000 Series laptop, Libretto 110 Series laptop) of computers with different hardware configurations (e.g., different processors, processing speed, amount of RAM, hard disk drive storage, peripheral devices, and the like). Such computers are typically sold with an initial software configuration (including an operating system, device drivers, and software applications) pre-installed on a hard disk drive of the computer. Factory installation of an initial software configuration onto multiple computers usually involves manually installing each software program onto a sample computer as desired. Once the manual installation is completed, the disk image is saved onto a storage medium (e.g., compact disk, hard disk drive of another computer, or the like) as one or more compressed files, which represent all of the properly installed software programs and the properly configured operating environment of the computer. The compressed disk image file(s) is then duplicated onto each computer to be delivered with the initial software configuration. The drawback of this disk imaging method is that it requires the creation of multiple boot disks for the different types, models, and hardware configurations of computers, as well as different operating systems, device drivers, and software applications to be installed onto the computers. For example, different boot disks are required to install Windows(copyright) 95, Windows 98, Windows NT, or OS/2 onto different computers. Such use of multiple boot disks makes factory installation of initial software configurations onto multiple computers a cumbersome process. Additionally, a factory worker is often needed to enter the type, model, and hardware configuration of the computer in order to determine which software programs (e.g., device drivers) to install onto the computer. Because such user interaction is required, factory installation of initial software configurations onto multiple computers cannot be an automatic process, and thus, is inefficient. Furthermore, during installation of the initial software configuration onto the computer, an initial boot of the computer as well as one or more reboots of the computer are generally required. In order to keep track of which boot or reboot has been performed, a process flag is typically written to the boot disk. However, such writing to the boot disk involves a risk of infecting the boot disk with a virus.
It is an object of embodiments of the present invention to provide a method and a system for automatically installing an initial software configuration onto a computer, which obviate for practical purposes, the above mentioned limitations.
According to an embodiment of the present invention, an installation system includes one or more target computers having different hardware configurations. Each target computer also has a memory and identification data associated with its hardware configuration, such as a unique part number, for indicating the particular hardware configuration of the target computer. To install an initial software configuration onto each of the target computers, a boot storage medium is placed in each of the target computers. Each boot storage medium includes logic and other data for booting each of the different target computers and automatically installing an initial software configuration onto each of the target computers. The identification data associated with the hardware configuration of each target computer is automatically retrieved from the memory of the target computer, and a software bundle is automatically retrieved and transferred from a library of software bundles to the memory of the target computer based on the retrieved identification data. The transferred software bundle is then installed onto the memory of the target computer, preferably the hard disk drive.
Because each boot storage medium includes logic and other data for booting each of the different target computers and automatically installing an initial software configuration onto each of the target computers, multiple versions of the boot storage media for the different target computers are not required. Instead, a single version of the boot storage medium is required. Additionally, once a target computer is booted from the boot storage medium, the installation process is entirely automatic and requires no user interaction, and thus, is more efficient.